#ifndef LIST_H
#define LIST_H

#include "Node.h"

class List {
public:

	List();
	~List();
	void ClearList();
	bool ListEmpty();
	int ListLength();

	bool GetElem(int index, Node *pNode);
	int LocateElem(Node *pNode);

	bool PriorElem(Node *currentElem, Node *preElem);
	bool NextElem(Node *currentElem, Node *preElem);
	void ListTraverse();

	bool ListInsert(int index, Node *pNode);
	bool ListDelete(int index, Node *pNode);

	bool ListInsertHead(Node *pNode);
	bool ListInsertTail(Node *pNode);

private:
	Node *m_pList;
	int m_iLength;
};

#endif